A communications system usually performs channel encoding to improve data transmission reliability and ensure communication quality. With a polar code, it is possible to can achieve Shannon capacity and have low encoding and decoding complexity. The polar code is a linear block code. A generation matrix of the polar code is GN., and an encoding process of the polar code is x1N=u1NGN.. Herein, GN.=BNFn, a code length is N=2n, and n≥0.
Herein,
      F    =          [                                    1                                0                                                1                                1                              ]        ,and BN is a transposed matrix, such as a bit reversal matrix.
Fn is a kronecker power of F, and is defined as follows: Fn=FF(n-1). The polar code may be represented as (N, K, A, uAC) using a coset code, and an encoding process of the polar code is x1N=uAGN.(A)uACGN. (AC) Herein, A is a set of information bit indexes, GN. (A) is a submatrix of rows corresponding to the indexes in the set A in GN., and GN. (AC) is a submatrix of rows corresponding to indexes in a set AC in GN.. uAC is a frozen bit, a quantity of frozen bits is (N−K), and the frozen bits are known bits. For brevity, the frozen bits may be set to 0.
To make better use of bandwidth, improve a signal anti-noise capability, and the like, combining a polar code with higher order modulation gradually becomes a trend. However, in a higher order modulation scenario of the polar code, for example, when the polar code is combined with quadrature amplitude modulation (QAM), a multi-level encoding method needs to be used, that is, each level of higher order modulation corresponds to one binary polar code. That is, in the higher order modulation scenario, multiple encoders and decoders are required to complete encoding and decoding. In practice, it is difficult to use such a manner in which the polar code is combined with higher order modulation.
Therefore, how to improve polar code performance and encoding and decoding efficiency in a higher order modulation scenario has become an urgent problem to be resolved.